JPHACKS 2023 Hackday
行き当たりばったりをしない
技術の選択シーン
なぜその技術を選ぶのか?
その技術でなければならない理由
その技術で協業できるのか?
技術を具体的にどのように使うのか?
セットアップ作業はどこを見てやれば良い?
構成図を書く
書く理由
接続に破綻がないかを確認する
例
フロントエンド
書いた人以外が構成を理解できるようにする
扱う技術の考察は解像度を高くする
✕ JavaScriptで位置情報を取得し、Pythonで実装したバックエンドサーバーに渡します.
疑問点
JavaScriptで位置情報を取得する際
位置情報を取得するにはどのようなコードを書くの?
位置情報はどのような構造なの?
JavaScriptからPythonに通信するにはどのようなコードを書くの?
Pythonでサーバーを実装する際
◯ ユーザーがブラウザーをロードすると、script要素でJavaScriptが読み込まれます。読み込まれたJavaScriptからfetchを使ってリクエストを送信します。...
ここまで詳細に説明するには、単純な構成図では不足する
いきなりここまで説明するのは厳しい
段階的に解像度を高める
誰か一人で技術選定をしないことが必要
コードレベルでの説明ができないときに、各構成要素間に不整合が生まれる
不安な技術を使わない
階層型コードエディターが欲しい
Jupytor notebookのように
事前のコミュニケーションを充実する
相手が許す限り、事前のコミュニケーションは綿密に
技術選定の参考にする
必要なもの
マウス
事前の計画を綿密に
依存関係の整理
分業できる構成を考える
アプリケーションとしての完成度を高める練習を欠かさない
ハッカソンは、完成度の高いアプリケーションを作るためにどうすべきかを考える機会になる
失敗できない状況での失敗を体験
ただ練習するのではなく、考察し知見を保存する
開発をつねにホットスタンバイ
ハッカソンを通じて、足りない知識を発見する
アプリケーション立ち上げ段階
アニメーション
ブランチ構成
AWSやGCPを活用する
抜けている知識を補完する
監視など保守については問われない
開発の立ち上げからデプロイまでのすべてを理解しておく
これを理解しなくていい状況は限られる
人数が多い
お互いの技術分野を補えば成功する確信がある
組み合わせたときにこの理解が重要になる
GraphQL × React
普段から様々な組み合わせを検討する
時間構成を考える
得点を最大化するための要件
ハッカソンに慣れると必要なタスクが整理しやすくなるかもしれない
感想
1人では考えないことを考える必要がある
開発における考察の論理性を高めたい場合ハッカソンは良い機会になる